﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Apps.Models;
using Apps.Models.Sys;
using System.Linq.Expressions;

namespace Apps.IBLL
{
    public partial interface IHomeBLL
    {
        List<SysModuleModel> GetMenuByPersonId(string personId, string moduleId);

        V_HP_CALORIFIC_DIFFERENCE QueryCALORIFIC_DIFFERENCE();

        List<V_HP_BLANCE_EXPEND> QueryBlanceExpendByYear(int Year);

        List<V_HP_BLANCE_EXPEND> QueryBlanceExpendByMonth(int iYear, int iMonth);

        List<V_RPT_JHC_MONTH> QueryJHCMonth(int Year);

        List<V_RPT_JHC_DAY> QueryJHCDay(int iYear, int iMonth);

        List<V_RPT_RCM_DETAIL> QueryRCMDetail(int iYear, int iMonth = 0);

        List<V_RPT_RCM_DETAIL> QueryRCMDetail(Expression<Func<V_RPT_RCM_DETAIL, bool>> whereLambda);

        List<V_RPT_RCM_DETAIL> QueryRCMDetailChart(int QueryYear, int QueryMonth, string MATERIEL_ID = "", string SUPPLIER_ID = "", string TRANSPORT_ID = "");

        List<V_RPT_RCM_DETAIL> QueryRCMDetailChart(int QueryYear, int QueryMonth, string LPR);

        List<V_RPT_RCM_DETAIL> QueryRCMDetail(int QueryYear, int QueryMonth, int QueryDate = 0, string MATERIEL_ID = "", string SUPPLIER_ID = "", string TRANSPORT_ID = "");

        List<V_HP_RC_BLANCE> QueryRCBlanceByYear(int Year);

        List<V_HP_RC_BLANCE> QueryRCBlanceByMonth(int iYear, int iMonth);

        List<V_STATS_RC_PLAN_WEIGHTING> QueryRCPlanWeighting(int iYear, int iMonth, int iDay = 0);

        List<V_STATS_RC_PLAN_WEIGHTING> QueryRCPlanWeighting(string MATERIEL_ID, string SUPPLIER_ID, string TRANSPORT_ID, int QueryYear, int QueryMonth);

        List<V_RC_WEIGHING> QueryWeighting(string BATCH_CODE);

        List<V_RC_WEIGHING> QueryWeighting(string MATERIEL_ID, string SUPPLIER_ID, string TRANSPORT_ID, string LPR, int QueryYear, int QueryMonth);

        List<V_HP_COAL_STRUCTURE> QueryCoalStructure();

        List<V_HP_LMS> QueryLms(int QueryYear, int RTYPE);

        List<V_RPT_LMS_ALL_MONTH> QueryLmsAll(int QueryYear, string RTYPE);
        RPT_LMS_RZC QueryLmsRZC();
    }
}
